﻿namespace TableTools.Models
{
    public class TableResult
    {
        public List<TableTemplate> Tables { get; set; } = new();

        public void Add(TableTemplate table)
        {
            table.Markdown = table.Table.ToMarkdown();
            Tables.Add(table);
            UpdateIndex();
        }

        public void AddRange(List<TableTemplate> tables)
        {
            foreach (TableTemplate table in tables)
            {
                table.Markdown = table.Table.ToMarkdown();
            }
            Tables.AddRange(tables);
            UpdateIndex();
        }

        public void Remove(TableTemplate table)
        {
            Tables.Remove(table);
            UpdateIndex();
        }

        private void UpdateIndex()
        {
            for (int i = 0; i < Tables.Count; i++)
            {
                var table = Tables[i];
                table.Index = i;
            }
        }
    }
}
